package com.yonyou.pmclouds.alterandvisa.rmiitf;

import com.yonyou.pmclouds.alterandvisa.entity.AlterAndVisaListViewVO;
import com.yonyou.pmclouds.alterandvisa.entity.AlterAndVisaVO;
import com.yonyou.pmclouds.alterandvisa.entity.VisaDemoVO;
import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;

public interface AlterAndVisaQuery {
    AlterAndVisaListViewVO[] getAlterAndVisaListInfo(String pkProject) throws BusinessException;
    AlterAndVisaVO getById(String pkAlterandvisa) throws BusinessException;

    boolean queryRefByIds(String code, String[] ids) throws BusinessException;

    /**
     * 智能生成变更签证，获取项目和施工单位信息
     *
     * @param pkTeannt
     * @param pkUser
     * @param inputProject
     * @return
     */
    VisaDemoVO getVisaDemo(String pkTeannt, String pkUser, String inputProject) throws BusinessException;

    PageObject<Object> queryByCondition(String[] pkProjects,
                                         String[] creators,
                                         String startDate,
                                         String endDate,
                                         int[] billStatus,
                                         int pageStart,
                                         int pageSize) throws BusinessException;

    int countByCondition(String pkTenant,
                         String[] pkProjects,
                         String[] creators,
                         String startDate,
                         String endDate,
                         int[] billStatus) throws BusinessException;
}
